@Ineverleft
2年前 提问
1个回答

微服务API安全网关具有哪些功能

GQQQy
2年前

微服务API安全网关具有以下功能:

  • NIO接入和异步接出:API网关作为所有的客户端与微服务之间的桥梁,在两者之间多加了一层网络跳转。为了尽可能地消除这层网络跳转所带来的性能影响,API网关在实现上需要提供NIO接入和异步接出的功能。

  • 报文格式转换:API网关的一大作用在于构建异构系统,API网关作为单一入口,通过协议转换整合后台基于 REST、AMQP 和 Dubbo 等不同风格和实现技术的微服务,面向Web、Mobile、开放平台等特定客户端提供统一服务。

  • 安全性控制:一般而言,无论对内网还是外网的接口都需要做用户身份认证,而用户认证在一些规模较大的系统都会采用统一的单点登录(Single Sign On,SSO)功能,如果每个微服务都要对接单点登录系统,那么显然比较浪费资源且开发效率低。API 网关是统一管理安全性的绝佳场所,可以将认证的部分抽取到网关层,然后微服务系统无需关注认证的逻辑只关注自身业务即可。常见的安全性技术(如密钥交换、客户端认证与报文加/解密等功能)都可以在API网关中加以实现。

  • 访问控制:某些场景下需要控制客户端的访问次数和访问频率,对于一些高并发系统有时还会有限流的需求。为了防止站点不被未知的大流量冲垮,在网关上可以配置一个阀值,当请求数超过阀值时就直接返回错误而不继续访问后台服务。

  • 业务路由支持:可以在网关层制订灵活的路由策略。针对一些特定的API,我们需要设置白名单、路由规则等各类限制。而这些非业务功能的配置以及变更都可以在网关层单独操作。